﻿using LJ.StreamSystem.LazyHare.Transport.Abstractions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LJ.StreamSystem.LazyHare.Transport.Kafka;

public interface IStreamSystemClient:IDisposable
{
    public Func<StreamSystemTransportData, Task<string>>? OnKeyCallback { get; set; }

    public Func<StreamSystemTransportData, Task<string>>? OnInitDataCallback { get; set; }

    public Func<StreamSystemTransportData, Task<string>>? OnSummaryDataCallback { get; set; }

    Task ListeningAsync(CancellationToken cancellationToken);
}
